`timescale 1ns/1ns
module success_test;
    reg           I_clk           ; // 系统50MHz时钟
    reg           I_rst_n         ; // 系统全局复位
	// reg           I_iic_send_en   ; // IIC发送使能位
	 reg     [7:0] I_write_data    ;
	 reg     [6:0] I_dev_addr      ;
	 reg     [7:0] I_word_addr     ;
	 reg    I_iic_send_en       ;
	 wire  scl_out_test            ;   ///输出接收的主机时钟线
	 wire  sda_out_test            ;    ///输出接收的主机数据线
	 wire    [7:0] rec_data        ;
	 wire  ack_out_test            ;   ///输出从机的应答位
	 
	  
	 reg     choose                ;
	 
	 ///主机-读-从机的输出
	 
	 wire        O_done_flag       ;
	 wire     [7:0]   O_read_data  ; // 从IIC设备的字地址读出来的数据 
    wire        O_M_scl           ;// 主机生成的时钟
	 
	 wire     [7:0]   S_read_data_reg ; /////////////
	 wire       I_M_sda           ;// 主机接收从机发出的sda线
	 wire       O_M_sda           ;// 主机发出的sda线
	 
	 
	 initial begin
	   I_clk=1'b0;
		I_rst_n=1'b0;
		I_dev_addr=7'b1010_000;
		I_word_addr=8'b1111_0100;
		I_write_data=8'b1010_1100;
		I_iic_send_en=1'b0;
		choose=1'b0;
		#10 
		I_clk=1'b1;
		I_rst_n=1'b1;
		I_iic_send_en=1'b1;
	 
	 end
    always #10 begin
	   I_clk=~I_clk;
	 end

success su(
    .I_clk(I_clk)           , // 系统50MHz时钟
    .I_rst_n(I_rst_n)         , // 系统全局复位
    .I_dev_addr(I_dev_addr)      , // IIC设备的物理地址
	 .I_word_addr(I_word_addr)     , // IIC设备的字地址，即我们想操作的IIC的内部地址
	 .I_write_data(I_write_data)    , // 
    .I_iic_send_en(I_iic_send_en),
	 .choose(choose)                ,
	 ///主机-写-从机的输出
	 .rec_data(rec_data) ,        //从机接收的数据
	 .ack_out_test(ack_out_test),               //从机向主机发送的应答信号
	 .scl_out_test(scl_out_test),    ///输出接收的主机时钟线
	 .sda_out_test(sda_out_test) ,    ///输出接收的主机数据线
	 
	 ///主机-读-从机的输出
	 
	 .O_done_flag(O_done_flag)     ,
	 .O_read_data(O_read_data)     , // 从IIC设备的字地址读出来的数据 
    .O_M_scl  (O_M_scl)       , // 主机生成的时钟
	 
	 .S_read_data_reg(S_read_data_reg) , /////////////
	 .I_M_sda  (I_M_sda)       , // 主机接收从机发出的sda线
	 .O_M_sda  (O_M_sda)         // 主机发出的sda线
);


endmodule